import redis
import logging  # 日志使用模块


class Config(object):  # 开启开发者模式

    # DEBUG = True  写到下面去了,好分清开发者模式和生产模式,以便后期的开发
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@localhost:3306/gz_xinjing'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # 利用os模块和base64生成一串随机数,设置秘钥
    SECRET_KEY = 'IhFV4rdrXOlI7Hd/ulBGopv0am7fTOQFIGQW+YRjrI+zsJjTlKcXyzAnU4DlNyklNtgT9MTHV98='

    # redis配置,连接redis数据库
    REDIS_HOST = 'localhost'
    REDIES_PORT = 6379

    # session 存储的配置信息,点进去查看源代码可以查看到需要进行设置的
    SESSION_TYPE = 'redis'
    SESSION_USE_SIGNER = True
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIES_PORT)

    # 设置session过期时间  进入session源代码,然后进入RedisSessionInterface代码,找到save-session函数
    # 下面有一个permanent_session_lifetime,利用ctrl+shift+f键,输入permanent_session_lifetime
    # 目录处输入路径/home/python/.virtualenvs/py3_flask/lib/python3.5/site-packages,查找就可以
    PERMANENT_SESSION_LIFETIME = 86400


class DevelopementConfig(Config):
    DEBUG = True
    LOG_LEVEL = logging.DEBUG  # 上面导入日志模块,这里进行设置
    # 下面的字典根据需求进行调用,这里为开发者模式,需要所有数据


class ProductionConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@localhost:3306/info'
    LOG_LEVEL = logging.WARNING
    # 这里为生产这模式,需要部分数据,因此从WARNING开始收取数据,一般生产使用的
    # 数据库也不同,所以这里今夕设置,init文件中间接调用了这里的方法


config_dict = {
    'development': DevelopementConfig,
    'production': ProductionConfig

}
